Skip to content

feat(web): Show user chat history#721

Merged
brendan-kellam merged 15 commits intosourcebot-dev:mainfrom
Nil2000:feat/chat-history
Jan 24, 2026
Merged

feat(web): Show user chat history#721
brendan-kellam merged 15 commits intosourcebot-dev:mainfrom
Nil2000:feat/chat-history

Conversation

@Nil2000
Copy link
Contributor

@Nil2000 Nil2000 commented Jan 8, 2026

Fixes : #660

Implemented recent chats
For now I have set to 3
image


Note

Introduces a resizable chat sidebar with recent history on the Ask homepage and wires up authenticated chat history retrieval.

  • Adds ChatSidePanel, ResizablePanelGroup, ResizablePanel, and AnimatedResizableHandle to chat/page.tsx for a collapsible, resizable layout
  • Retrieves session via auth() and loads getUserChatHistory(); surfaces service errors with ServiceErrorException
  • Minor UI tweaks (spacing/class adjustments) on chat and search landing pages
  • Updates CHANGELOG.md to note the new ask sidebar

Written by Cursor Bugbot for commit 4344a18. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • New Features
    • Chat history for authenticated users
    • New horizontal, resizable sidebar layout (ask sidebar) for improved chat navigation and content organization
  • Bug Fixes
    • Runtime validation surfaces chatHistory and service errors before rendering
  • Style
    • Minor spacing adjustment on the search landing page for medium+ screens
  • Chores
    • Updated changelog to note the new ask sidebar on the homepage

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 8, 2026

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

The chat page now fetches authenticated users' chat history, validates it, and renders a new horizontal resizable two-panel layout with a chat sidebar and main chat area; minor spacing tweak in the search landing page and changelog updated with an "ask sidebar" entry.

Changes

Cohort / File(s) Summary
Chat Page Layout & Data Flow
packages/web/src/app/[domain]/chat/page.tsx
Adds auth() and getUserChatHistory() usage, validates chatHistory and throws on error; replaces prior single-column UI with ResizablePanelGroup (left ChatSidePanel, animated handle, right ResizablePanel containing LandingPageChatBox, SourcebotLogo, repository carousel and demo content); updates container/layout classes and overflow behavior.
Changelog
CHANGELOG.md
Adds Unreleased "Added" entry: "Added ask sidebar to homepage. #721".
Search Landing Page Spacing
packages/web/src/app/[domain]/search/components/searchLandingPage.tsx
Minor spacing change: mt-18mt-16 at md breakpoint (presentation only).

Sequence Diagram

sequenceDiagram
    participant Page as Chat Page
    participant Auth as auth()
    participant Service as getUserChatHistory()
    participant Layout as ResizablePanelGroup
    participant Sidebar as ChatSidePanel
    participant Main as Main Chat Panel

    Page->>Auth: request auth state
    Auth-->>Page: return auth state

    alt authenticated
        Page->>Service: fetch user chat history
        Service-->>Page: return chatHistory

        alt chatHistory is error
            Page->>Page: throw ServiceErrorException
        else valid chatHistory
            Page->>Layout: render resizable layout
            Layout->>Sidebar: provide chatHistory + auth state
            Sidebar-->>Layout: render history UI
            Layout->>Main: render main chat area (LandingPageChatBox, logo, carousel, demos)
            Main-->>Layout: render complete
        end
    else unauthenticated
        Page->>Layout: render layout without chatHistory
        Layout->>Sidebar: render empty sidebar
        Layout->>Main: render main chat area
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding user chat history display to the web interface.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@brendan-kellam
Copy link
Contributor

Hey @Nil2000 thanks for the PR.

image

Instead of having cards, I think we would be better off re-using the existing chat history sidebar. This is a more common UX pattern, as seen in tools like claude:
image
image

@Nil2000
Copy link
Contributor Author

Nil2000 commented Jan 9, 2026

@brendan-kellam I believe this would do
image

@brendan-kellam
Copy link
Contributor

@brendan-kellam I believe this would do image

Nice I think this is a better. There are definitely improvements we can make to the sidebar (using the shadcn sidebar component comes to mind as it has a better UX interaction pattern imo), but we can leave that for the future.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@Nil2000
Copy link
Contributor Author

Nil2000 commented Jan 18, 2026

@brendan-kellam any update on this?

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@packages/web/src/app/`[domain]/chat/page.tsx:
- Line 95: The Tailwind class "md:mt-18" in the JSX div with classes "flex
flex-col justify-center items-center mt-8 mb-8 md:mt-18 w-full px-5" is invalid
and will be ignored; update that class to "md:mt-16" in the same div (page.tsx)
so the medium-screen top margin uses the project's valid spacing scale.

@brendan-kellam brendan-kellam merged commit bbabfe4 into sourcebot-dev:main Jan 24, 2026
6 checks passed
@brendan-kellam
Copy link
Contributor

Thanks @Nil2000 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FR] Allow users to view chat history from home page

2 participants